plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.2'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'ru.antonsibgatulin'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '17'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'junit:junit:4.13.1'
    testImplementation 'org.projectlombok:lombok:1.18.28'
    runtimeOnly 'org.postgresql:postgresql'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.data:spring-data-jpa:3.2.2'


    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.mysql:mysql-connector-j'
    runtimeOnly 'org.postgresql:postgresql'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
    implementation 'io.jsonwebtoken:jjwt-impl:0.11.5'
    implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'
    implementation 'org.springframework.boot:spring-boot-starter-security'

    implementation 'javax.servlet:javax.servlet-api:3.1.0'
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'

    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework:spring-context'
    implementation 'org.springframework.boot:spring-boot-test-autoconfigure:3.1.4'
    implementation 'javax.validation:validation-api:2.0.1.Final'

    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    implementation 'org.springframework.boot:spring-boot-starter-logging'

    implementation 'ch.qos.logback:logback-core:1.3.5'
    implementation 'ch.qos.logback:logback-classic:1.3.5'

    testImplementation 'org.slf4j:slf4j-api:2.0.4'
    testImplementation 'org.awaitility:awaitility:3.1.2'


}

tasks.named('test') {
    useJUnitPlatform()
}
